// 用来缓存 对话框数据。
function NW05_tcc_gt(fq, cs) {
    this.nw = fq.nw;
    this.hc = fq.hc;           //缓存池
    this.sj = fq.sj;

    this.zdcRQ = null;           //对话框 容器(遮挡层)
    this.nrcRQ = null;           //容器里面的 内容层
    this.tbJD = null;
    this.stJD = null;
    this.jbJD = null;
    this.gbAN = null;            //关闭按钮
    this.zdhAN = null;           //最大化按钮
    this.ddc = null;
    this.cs = cs;// new NW05_tcc_cs()

    // this.sfz = 0;//身份证。创建对象时，外部写唯一的（对于弹出层）
    // this.i = 0;


    this._bj = this.nw.ck.bj;
    this._dw = this.nw.ck.dw;
    this._zt_bg = 1;//记录关闭状态
}

NW05_tcc_gt.prototype.djs_bt = function () {
    wo = this;
    setTimeout(function () {
        wo.tb(NWHS_hqJKshijian())
        if (wo._zt_bg) {
            setTimeout(arguments.callee, 1000);
        }
    }, 1000);
}

NW05_tcc_gt.prototype.qd0 = function () {
    this._cjZDC();
    this._cjNRC();
    this._cjNRC_tb();
    this._cjNRC_st();
    this._cjNRC_jb();
    this._cjNRC_gbAN()
    this._cjNRC_zdhAN();

    this.xsDDC();
    this.jiazaiNR();
    if (this.cs.tb_djs) {
        this.djs_bt()
    }
    //开始分析代码
    this.nw.yq.zdy.zx(this.nrcRQ.Jiedian)

    if (!this.cs.tb_xs) {
        this.tbJD.ys.xs();
    }
    if (!this.cs.jb_xs) {
        this.jbJD.ys.xs();
    }
    this._ngj_bj_dw();
    this.sj.zcSJ(this.zdcRQ.Jiedian);//重新注册事件
    if (this.cs.qd_yc) {
        this.zdcRQ.ys.xs(0);
    }
}
// ======================↓↓↓=========================
//1、创建遮挡层
NW05_tcc_gt.prototype._cjZDC = function () {
    //创建属性
    let _SX = { rq: 'tcc', style: 'background-color:' + this.cs.zdc_bjys + ' ; z-index: 999;position: absolute;overflow:hidden' }
    _SX[this.cs.zdc_dw] = this.cs.wz;
    if (this.cs.zdc_sj) {
        _SX.ajlb = this.cs.zdc_sj
    }
    if (this.cs.zdc || this.cs.zdh) {   //最大化，或启用遮挡层时
        _SX.g = '';//与父同高宽
        _SX.k = '';//与父同高宽
    } else {
        _SX.g = this.cs.g
        _SX.k = this.cs.k
    }
    this.zdcRQ = this.nw.cj2(this.cs.fq.jd.cjEZ('buju', _SX));
}

//2、在遮挡层 内，创建一个【内容层】容器
NW05_tcc_gt.prototype._cjNRC = function () {
    let _SX = { style: 'overflow:hidden' }
    //如果遮挡层与父同尺寸（100%）。那么，用户配置的位置，直接调整 内容层
    _SX.xddw = this.cs.zdc ? this.cs.wz : "zzj"
    //  1、非启用遮挡层（这时，遮挡层的高宽 = 内容层的高宽）  
    //  2、最大化，则与遮挡层一样的高宽
    if (!this.cs.zdc || this.cs.zdh) {
        _SX.g = '';//与父同高宽
        _SX.k = '';//与父同高宽
    } else {
        _SX.g = this.cs.g
        _SX.k = this.cs.k
    }
    this.nrcRQ = this.nw.cj2(this.zdcRQ.jd.cjEZ('buju', _SX));
}
// 2.1、在内容层容器里面，创建一个标题
NW05_tcc_gt.prototype._cjNRC_tb = function () {

    this.tbJD = this.nw.cj2(this.nrcRQ.jd.cjEZ('buju', {
        g: this.cs.tb_g, k: '', l: '1', h: '1', style: 'overflow:hidden;background-color:' + this.cs.tb_bjys
    }));

    if (this.cs.tb_pdJZ) {
        this.tbJD2 = this.nw.cj2(this.tbJD.jd.cjEZ('nr', {
            xddw: 'zzj',
        }));
        this.tbJD2.jd.xgNR_html(this.cs.tb_nr);//写入标题内容
        return;
    }
    this.tbJD.jd.xgNR_html(this.cs.tb_nr);//写入标题内容
}
// 2.2、在内容层容器里面，创建一个内容区
NW05_tcc_gt.prototype._cjNRC_st = function () {
    // let _stBQ = 'buju';
    // if (!this.cs.geli) {//不是隔离内容（不是iframe）
    //     if (!this.cs.st_yq) {//如果没有开启 引擎
    //         _stBQ = 'nr';//使用 nr标签。 会跳过 【nr标签的下游节点】的 布局、定位、事件解析。 nr是内容标签。
    //     }
    // }
    this.stJD = this.nw.cj2(this.nrcRQ.jd.cjEZ('buju', {
        g: 'zd', k: '', l: '1', h: '2',
        style: 'background-color:' + this.cs.st_bjys + ';overflow:hidden'
    }));

    if (this.cs.geli) {
        let _geliPZ = { gk: '', frameborder: 0, style: 'overflow:auto' }
        _geliPZ.src = this.cs.yc_dizhi ? this.cs.yc_dizhi : this.cs.st_nr;
        this.stJD = this.nw.cj2(this.stJD.jd.cjEZ('iframe', _geliPZ));
        if (this.stJD.Jiedian.attachEvent) {
            this.stJD.Jiedian.attachEvent("onload", NW05_tcc_gt_iframe_zbsj);
        } else {
            this.stJD.Jiedian.onload = NW05_tcc_gt_iframe_zbsj
        }
    } else {
        this.stJD.jd.xgNR_html(this.cs.st_nr);//写入内容
    }
}

function NW05_tcc_gt_iframe_zbsj() {
    let tcc = NWHS_hqJD_tgSXzhi(this, 'rq', 'tcc');
    let gt = nw.ck.tcc.hqGT(tcc);
    if (gt) {
        gt.ycDDC();
        // setTimeout(function () {
        //     gt.ycDDC();
        // },1000);
        // gt._gx();
    }
}

// 2.3、在内容层容器里面，创建一个脚部
NW05_tcc_gt.prototype._cjNRC_jb = function () {
    this.jbJD = this.nw.cj2(this.nrcRQ.jd.cjEZ('buju', {
        g: this.cs.jb_g, k: '', l: '1', h: '3', style: 'overflow:hidden;background-color:' + this.cs.jb_bjys
    }));
    this.jbJD.jd.xgNR_html(this.cs.jb_nr);//写入标题内容
}


// ======================↓↓↓=========================
// 2.4、在内容层容器里面，创建一个关闭按钮
NW05_tcc_gt.prototype._cjNRC_gbAN = function () {
    if (this.cs.an_gb) {
        this.gbAN = this._ngj_cjBJ('ysj,5', 'x', 'tcc_gb');
        return this.gbAN;
    }
}
// 2.5、在内容层容器里面，创建一个关闭按钮
NW05_tcc_gt.prototype._cjNRC_zdhAN = function () {
    if (this.cs.an_zdh) {
        this.zdhAN = this._ngj_cjBJ('ysj,25', '口', 'tcc_zhd');
        return this.zdhAN;
    }
}
// 在内容层容器里面，创建部件
NW05_tcc_gt.prototype._ngj_cjBJ = function (wz, fh, ajlb) {
    let _WO = this.nw.cj2(this.nrcRQ.jd.cjEZ('div', { xddw: wz, style: ' z-index: 999' }));
    _WO.jd.xgNR_html('<a href="javascript:void(0)" style="text-decoration:none" ajlb="' + ajlb + '">' + fh + '</a>');
    return _WO;
}
// ======================↑↑↑=========================

// 等待。有远程地址配置时，自动添加 等等层
// 
NW05_tcc_gt.prototype.xsDDC = function () {
    if (this.cs.yc_dizhi) {
        if (!this.ddc) {
            this.ddc = this.nw.cj2(this.nrcRQ.jd.cjEZ('buju', {
                gk: '',
                xddw: 'zsj',
                style: 'z-index: 998;overflow:hidden;background-color:' + this.cs.ddc_bjys
            }));
        }

        this.ddc.jd.xgNR_html(this.cs.ddc_nr);//写入标题内容
        this.ddc.ys.xs(1);

        this._bj.buju(this.zdcRQ)
        this._bj.buju(this.zdcRQ)
        this._dw.dw(this.zdcRQ);//立马定位
    }
}
NW05_tcc_gt.prototype.ycDDC = function () {
    if (this.cs.yc_dizhi) {
        if (this.ddc) {
            this.ddc.ys.xs(0);
        }
    }
}


NW05_tcc_gt.prototype.jiazaiNR = function (csDX) {
    if (this.cs.geli || !this.cs.yc_dizhi) {
        return;
    }
    if (!csDX) {
        csDX = this.cs.yc_cs;
    }
    this.xsDDC();
    switch (this.cs.yc_wffs) {
        case 'get':
            this.nw.ff.yc.n(this.cs.yc_dizhi, csDX, this, this.cs.yc_sjgs); break;
        default:
            this.nw.ff.yc.by(this.cs.yc_dizhi, csDX, this, this.cs.yc_sjgs); break;
    }
}

NW05_tcc_gt.prototype._03yc_qq_cg = function (shuju) {
    if (shuju) {
        if (shuju[this.cs.yc_nr_tb] != undefined) {
            this.tbJD.jd.xgNR_html(shuju[this.cs.yc_nr_tb]);
        }
        if (shuju[this.cs.yc_nr_st] != undefined) {
            this.stJD.jd.xgNR_html(shuju[this.cs.yc_nr_st]);
        }
        if (shuju[this.cs.yc_nr_jb] != undefined) {
            this.jbJD.jd.xgNR_html(shuju[this.cs.yc_nr_jb]);
        }
        this.nw.yq.zdy.zx(this.nrcRQ.Jiedian)
        this.ycDDC();
        this._ngj_bj_dw();
        this.sj.zcSJ(this.zdcRQ.Jiedian);//重新注册事件
    }
}

// ======================↑↑↑=========================

NW05_tcc_gt.prototype.tb = function (nr) {
    return this._ngj_nr(this.cs.tb_pdJZ ? this.tbJD2 : this.tbJD, nr)
}
NW05_tcc_gt.prototype.st = function (nr) {
    if (this.cs.geli) {
        if (nr == undefined) {
            return;
        }
        this.xsDDC();
        this.stJD.jd.xgSX({ src: nr })
        this.cs.yc_dizhi = nr;
        return;
    }
    return this._ngj_nr(this.stJD, nr)
}
NW05_tcc_gt.prototype.jb = function (nr) {
    return this._ngj_nr(this.jbJD, nr)
}

NW05_tcc_gt.prototype._ngj_nr = function (nwJD, nr) {
    if (nr != undefined) {
        nwJD.jd.xgNR_html(nr);
    } else {
        return nwJD.jd.hqNR_html();
    }
}

NW05_tcc_gt.prototype.xs = function (kg) {
    this.zdcRQ.ys.xs(kg);
    if (kg != 0) {
        this._ngj_bj_dw();
    }
}

NW05_tcc_gt.prototype.xsTB = function (kg) {
    this.tbJD.ys.xs(kg);
    this._ngj_bj_dw();
}

NW05_tcc_gt.prototype.xsJB = function (kg) {
    this.jbJD.ys.xs(kg);
    this._ngj_bj_dw();
}

//删除对话框
NW05_tcc_gt.prototype.gb = function () {
    // this._zt_bg = 0;
    this.sj.zxSJ(this.zdcRQ.Jiedian, 'tcc_gb', 1);
}

NW05_tcc_gt.prototype.gx = function () {
    if (this.cs.geli) {//表示 iframe
        this.st(this.cs.yc_dizhi);
        return;
    }
    //表示远程访问数据时
    if (this.cs.yc_dizhi) {
        this._ngj_sjcs()
        this.jiazaiNR();
        return;
    }
}
//随机参数
NW05_tcc_gt.prototype._ngj_sjcs = function () {
    if (this.cs.sjcs && this.cs.sjcs_ming) {
        if (!this.cs.yc_cs) {
            this.cs.yc_cs = {}
        }
        this.cs.yc_cs[this.cs.sjcs_ming] = new Date().getTime()
    }
}

//最大化|还原 对话框
NW05_tcc_gt.prototype.zdh = function () {
    if (this.cs.zdh) {//已经是最大化。则，强制还原

        //内容层在 遮挡层里面。还原时，也要把 锁定层还原到最开始的状态
        if (!this.cs.zdc) { //假值=与内容层 同尺寸
            this.zdcRQ.jd.xgSX({ g: this.cs.g, k: this.cs.k })//还原尺寸
            this.nrcRQ.jd.xgSX({ g: '', k: '' })
        } else {
            this.nrcRQ.jd.xgSX({ g: this.cs.g, k: this.cs.k })//还原尺寸
        }
    } else {
        let _pz = { g: '', k: '' };
        //内容层在 遮挡层里面。最大化之前，还要把遮挡层调整为最大尺寸。
        if (!this.cs.zdc) { //假值=与内容层 同尺寸
            this.zdcRQ.jd.xgSX(_pz)
        }
        this.nrcRQ.jd.xgSX(_pz)
    }
    this.cs.zdh = !this.cs.zdh;//取反。真变假。假变真
    this._ngj_bj_dw();
}

// 更新
NW05_tcc_gt.prototype._ngj_bj_dw = function () {
    // nw.ck.dw.stDW();//立马定位
    // this.bjdx.stBJ();
    // this.dwdx.stDW();//立马定位
    // this.bjdx.stBJ();
    // this.dwdx.stDW();//立马定位

    let rq = this.nw.cj2(this.zdcRQ.Jiedian.parentNode);

    // this._bj.buju(rq)
    // this._bj.buju(this.zdcRQ)
    // this._dw.dw(rq);//立马定位
    // this._bj.buju(this.zdcRQ)
    // this._dw.dw(rq);//立马定位
    // this._bj.buju(this.zdcRQ)
    // this._dw.dw(rq);//立马定位
    // this._bj.buju(this.zdcRQ)

    this._bj.buju(rq)
    this._bj.buju(this.zdcRQ)
    this._dw.dw(this.zdcRQ);//立马定位
    this._bj.buju(this.zdcRQ)
    this._dw.dw(this.zdcRQ);//立马定位
    this._bj.buju(this.zdcRQ)
    this._dw.dw(this.zdcRQ);//立马定位
    this._bj.buju(this.zdcRQ)
}
